package com.bigdata.demo.controller;

import com.bigdata.demo.methods.Connection_BigData;
import com.bigdata.demo.methods.Public;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;


@RestController //用来表示这是一个对外的接口
@CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = {})//跨域设置 originPatterns = "*",
//可以接受任何主机对本地的访问
//@CrossOrigin("*")

public class Load_GetInfo {
    //这是大数据平台接口设计——容器和镜像管理——获取服务器负载
    @GetMapping ("/docker/load_getinfo_test")
    public List<String> load_getinfo(
            //不需要调用参数
    ) {
   String hostname = "125.221.232.243";//要连接主机的ip
        String username = "root";//登录的用户名
        String password = "123@bigdata";  //用户密码
        List<String> pri = new ArrayList<>(); //接口的返回，运行状态
        List<String> pr = new ArrayList<>(); //接口的返回，运行状态

        //调用封装的类Connection_BigData，远程连接集群
        Connection_BigData con = new Connection_BigData(hostname, username, password);
        String path = Public.SHELL_dir;   //脚本所在目录
        String cmd = "cd " + path + "; ";                   //找到脚本所在目录

        //拼接命令，例如：/bin/bash load_get_info.sh
        String shell_name = " load_get_info.sh ";             //脚本名

        cmd += "/bin/bash " + shell_name;              //脚本执行的命令
        System.out.println("cmd:" + cmd);  //可以打印出来，看命令是否正确
//        pri = con.connection(cmd); //调用函数connection，连接集群，并执行cmd命令，返回运行状态
        pr = con.connection1(cmd); //调用函数connection，连接集群，并执行cmd命令，返回运行状态
//        pr.add(con.connection1(cmd));


        return pr;
        /********** 测 试  ************/
    }
}
